Eine statische verschachtelte Klasse wird innerhalb einer anderen Klasse mit dem Schlüsselwort static deklariert oder innerhalb eines statischen Kontextes dieser Klasse. Eine statische Klasse hat keinen Zugriff auf instanzspezifische Daten.
Eine innere Klasse ist eine nichtstatische Klasse, die innerhalb einer anderen Klasse deklariert wird. Sie hat Zugriff auf alle Instanzdaten der umgebenden Klasse, einschließlich privater Felder und Methoden. Innere Klassen können auf statische Daten zugreifen, aber keine statischen Mitglieder deklarieren, sofern diese Mitglieder nicht Konstanten zur Kompilierungszeit sind.
Die Entscheidung, welche Art von verschachtelter Klasse man verwenden soll, hängt von den Datentypen ab, auf welche die verschachtelte Klasse zugreifen muss. Falls man Zugriff auf Instanzdaten benötigt, braucht man eine innere Klasse. Falls dies nicht der Fall ist, reicht auch eine statische verschachtelte Klasse.
Die häufigste Verwendung einer inneren Klasse sind Event-Handler für GUI-basierte Anwendungen. Diese Klassen werden üblicherweise anonym deklariert, für jede Komponente, welche einen Event-Handler benötigt. Der Vorteil des Einsatzes einer inneren Klasse als Event-Handler besteht darin, dass man umfangreiche If/Else-Anweisungen vermeidet, um zu entscheiden, um welche Komponente es gerade geht. Jede Komponente erhält ihren eigenen Event-Handler, sodass jeder Event-Handler implizit die Komponente kennt, für die er gedacht ist.
Neueste Kommentare
Noch keine Kommentare zu Statische verschachtelte Klassen und innere Klassen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.